Change crate name (not package name) from loopdev_erikh to loopdev#1
Change crate name (not package name) from loopdev_erikh to loopdev#1dtolnay wants to merge 1 commit into
loopdev_erikh to loopdev#1Conversation
|
Note that at present "cargo test" fails. With this change, it succeeds. |
|
@dtolnay But, this is not really an "authorized" fork of the original loopdev. How is the problem of the crate name on crates.io handled? |
|
I don't know what you mean by "authorized fork". Any Cargo package can contain a crate with any name. A package cannot have 2 or more direct package dependencies that contain the same crate name. |
In the past, I've seen people ask to take over a name on crates.io, and then been granted the name. Consequently, I imagined that that was an important step in making a fork. I guess what you are saying is that the name that crates.io uses for its URL is the package name (not the crate name). |
|
That's right, the names on crates.io are package names not crate names. |
By default, Cargo names library crates by taking the Cargo package's name and replacing
-by_. So the package here isloopdev-erikhwhile the library crate contained inside of it isloopdev_erikh.I propose keeping
loopdev-erikhfor the package name but usingloopdevas the crate name.This is a more convenient way to maintain a fork because the fork becomes a drop-in replacement for the original unmaintained library, without needing to touch Rust source code to change imports or add
extern crate loopdev_erikh as loopdevor insert{ package = "loopdev" }into Cargo manifests.